// 引入api
const API = require('../http/api')

// 检测微信状态是否有效
const checkWxlogin = function () {
  return new Promise((resolve, reject) => {
    wx.checkSession({
      success() {
        resolve(true)
      },
      fail() {
        resolve(false)
      }
    })
  })
}

// 检测用户是否登录的方法
const hasUserIsLoginded = async function () {
  // 1.本地有没有Token,没有返回false
  const token = wx.getStorageSync('token')
  if (!token) {
    return false
  }
  // 2.若有Token,检测有没有过期,如果过期删除Token,返回false
  const res = await API.checkToken(token)
  // 如果无效
  if (res.code===2000) {
    wx.removeStorageSync('token')
    return false
  }
  // 3.判断用户登录状态是否过期,如果过期也要删除Token,返回false
  const wxSatus = await checkWxlogin()
  // 如果登录过期
  if (!wxSatus) {
    wx.removeStorageSync('token')
    return false
  }
  // 4.上面都不符合，如果用户已经登录,则返回true
  return true
}

// 用户登录和注册方法公用一个接口
const wxszhuce = function () {
  // 调用wx.login拿到code码
  wx.login({success:async function(res) {
      // 将code码传给后台,自动登录和注册      传参
      const res2 = await API.wxszhuceapi(res.code)
      console.log('自动登录和注册',res2);
      // 保存token
      wx.setStorageSync('token', res2.data.token)
      // 保存uid
      wx.setStorageSync('uid', res2.data.uid)

    },
    fail(error) {
      console.log('登录失败', error);
    }
  })
}
module.exports = {
  hasUserIsLoginded,
  wxszhuce
}